#!/bin/bash
###############################################################################
# @用例ID: 20230525-154056-556766079
# @用例名称: firewalld-test
# @用例级别: 3
# @用例标签:
# @用例类型: 功能
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"
  
tc_setup() {
    msg "this is tc_setup"
    # @预置条件：firewalld已安装

    assert_true command -v firewall-cmd
    return 0
}

do_test() {
    msg "this is do_test"
    
    # @测试步骤1：测试防火墙状态
    # @预期结果1：防火墙状态为运行中
    assert_true sudo systemctl start firewalld
    assert_true sudo systemctl is-active firewalld

    # @测试步骤2：测试防火墙规则添加
    # @预期结果2：成功添加防火墙规则
    sudo firewall-cmd --zone=public --add-port=80/tcp
    assert_true [ $? -eq 0 ]

    # @测试步骤3：测试防火墙规则删除
    # @预期结果3：成功删除防火墙规则
    sudo firewall-cmd --zone=public --remove-port=80/tcp
    assert_true [ $? -eq 0 ]
    
   
        

    return 0
}



tc_teardown() {
    msg "this is tc_teardown"

    rm -rfv "$g_tmpdir" || return 1
    return 0
}


###############################################################################
tst_main "$@"
###############################################################################
